# define mainProg(name,cmd,rcsid) const char copyright[] = "Copyright 1982,1988,1989 by Walter F. Tichy\nPurdue CS\nCopyright 1990 by Paul Eggert", rcsbaseId[] = RCSBASE, cmdid[] = cmd; libId(name,rcsid) int main mainArgs
#endif
/*
* Markers for keyword expansion (used in co and ident)
* Every byte must have class LETTER or Letter.
*/
#define AUTHOR "Author"
#define DATE "Date"
#define HEADER "Header"
#define IDH "Id"
#define LOCKER "Locker"
#define LOG "Log"
#define RCSFILE "RCSfile"
#define REVISION "Revision"
#define SOURCE "Source"
#define STATE "State"
#define keylength 8 /* max length of any of the above keywords */
enum markers { Nomatch, Author, Date, Header, Id,
Locker, Log, RCSfile, Revision, Source, State };
/* This must be in the same order as rcskeys.c's Keyword[] array. */
#define DELNUMFORM "\n\n%s\n%s\n"
/* used by putdtext and scanlogtext */
/* main program */
extern const char cmdid[];
exiting void exiterr P((void));
/* maketime */
void str2date P((const char*,char[datesize]));
void time2date P((time_t,char[datesize]));
/* partime */
int partime P((const char*,struct tm*,int*));
/* rcsedit */
#define ciklogsize 23 /* sizeof("checked in with -k by ") */
extern FILE *fcopy;
extern const char *resultfile;
extern const char ciklog[ciklogsize];
extern int locker_expansion;
extern struct buf dirtfname[];
#define newRCSfilename (dirtfname[0].string)
FILE *initeditfiles P((const char*));
FILE *rcswriteopen P((const char*));
const char *makedirtemp P((const char*,int));
int expandline P((FILE*,FILE*,const struct hshentry*,int,FILE*));
void arewind P((FILE*));
void copystring P((void));
void dirtempunlink P((void));
void editstring P((const struct hshentry*));
void finishedit P((const struct hshentry*));
void inittmpeditfiles P((void));
void keepdirtemp P((const char*));
void swapeditfiles P((int));
void xpandstring P((const struct hshentry*));
/* rcsfnms */
#define bufautobegin(b) ((void) ((b)->size = 0)) /* for auto on block entry */
extern char *workfilename;
extern const char *RCSfilename;
extern int haveworkstat;
extern struct stat RCSstat;
extern struct stat workstat;
FILE *rcsreadopen P((const char*));
char *bufenlarge P((struct buf*,const char**));
char *maketemp P((int));
const char *bindex P((const char*,int));
const char *getfullRCSname P((void));
const char *tmp();
int getfworkstat P((int));
int getworkstat P((void));
int pairfilenames P((int,char**,FILE*(*)P((const char*)),int,int));